#include "junix.h"
using namespace std;

namespace A
{
	struct A  {
		A(int i) : i(i) { }
		int i;
	};

	void f(const A& a) {
		cout<<"A::f(const A& a)"<<endl;
		cout<<a.i<<endl;
	}	
}

namespace B
{
	void f(const A::A& a) {
		cout<<"B::f(const A& a)"<<endl;
		cout<<a.i<<endl;
	}


	void g(const A::A& a) {
		A::f(a);
	}
}

int main(int argc, char **argv) {
	A::A a(9999);
	f(a);
}
